package demo.suanfa;

import java.util.HashMap;
import java.util.Map;

public class _最大频率元素计数 {
    /**
     * nums,返回nums中所有既有 最大 频率的元素的总频率
     * 元素的 频率 是指该元素在数组中出现的次数
     * <p>
     * 如nums=[1,2,2,3,1,4] 返回4
     * 元素1和2的频率是2，是数组中的最大频率。因此具有最大频率的元素在数组的数量是4
     * <p>
     * nums=[1,2,3,4,5] 返回5
     * 所有元素都是1，是最大频率，因此具有最大频率的元素在数组的数量是5
     */
    public static void main(String[] args) {
        int[] arr = {1,2,3,4,5};
        Map<Integer, Integer> map = new HashMap<>();
        for (int i = 0; i < arr.length; i++) {
            Integer count = map.get(arr[i]);
            if (count == null) {
                count = 1;
            }
            count++;
            map.put(arr[i], count);
        }
        int max = Integer.MIN_VALUE;
        for (Integer value : map.values()) {
            if (value >= max) {
                max = value;
            }
        }
        int cc = 0;
        for (Integer value : map.values()) {
            if (value == max) {
                cc++;
            }
        }
        System.out.println(cc);
    }
}
